import Vue from 'vue'
import Vuex from 'vuex'
// 导入user子模块对象
import userModule from './modules/user'
// 导入数据持久化模块
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
  modules: {
    // 注册子模块
    user: userModule
  },
  plugins: [
    // 使用插件把模块下的数据刷新不丢失
    // 内部默认使用的是localStorage
    // 这个插件内部做了如下几件事
    // 1,自动把vuex中的数据在本地存储一份
    // 2，刷新页面时，自动从本地取值赋值给vuex
    // 3,当vuex的数据变了的时候，自动把最新的数据同步到本地存储
    // 今后的代码只需要关注vuex的数据，这个插件会自动把vuex的数据同步到本地
    createPersistedState({
      // 哪些子模块下的数据需要持久化
      paths: ['user'],
      // 保存到本地的键名
      key: 'm-toutiao-23'
    })
  ]
})
